/* ══ JANET OUD — CART + ORDER SUMMARY ══ */
/* Scoped to #cartApp to avoid conflicts with global site styles */

#cartApp{
  --ivory:#FAF7F2; --linen:#EDE5D8; --white:#FFFFFF;
  --oxblood:#3D0C14; --oxblood-dk:#2E0910;
  --gold:#B8924A; --gold-lt:#D4A96A;
  --brown:#6B5744; --warm-mid:#8A7A66; --error:#A3343F;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Josefin Sans',Helvetica,Arial,sans-serif;
  --cols:minmax(0,1fr) 100px 120px 100px;

  max-width:1140px;margin:0 auto;padding:52px 24px 80px;
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:start;
  font-family:var(--sans);font-weight:300;color:var(--brown);
}
#cartApp *{box-sizing:border-box}
#cartApp button,#cartApp input,#cartApp select{font:inherit;color:inherit}
#cartApp a{text-decoration:none}
#cartApp :focus-visible{outline:2px solid var(--gold);outline-offset:2px}
#cartApp [hidden]{display:none!important}

/* ── PANELS ── */
#cartApp .panel{background:var(--white);border-radius:6px;box-shadow:0 4px 24px rgba(61,12,20,.06)}

/* ── COLUMN HEADERS ── */
#cartApp .cart-cols{display:grid;grid-template-columns:var(--cols);gap:16px;padding:24px 28px 16px;border-bottom:1px solid var(--gold)}
#cartApp .cart-cols span{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
#cartApp .cart-cols span:nth-child(2),
#cartApp .cart-cols span:nth-child(3){text-align:center}
#cartApp .cart-cols span:last-child{text-align:right}

/* ── ITEM ROWS ── */
#cartApp .item{display:grid;grid-template-columns:var(--cols);gap:16px;padding:22px 28px;border-bottom:1px solid var(--linen);align-items:center}
#cartApp .item:last-child{border-bottom:none}
#cartApp .i-product{display:flex;gap:18px;align-items:center;min-width:0}
#cartApp .thumb{flex:0 0 84px;width:84px;height:100px;border-radius:4px;background:linear-gradient(180deg,#F3EDE3,#E6DCCB);display:flex;align-items:center;justify-content:center;overflow:hidden}
#cartApp .thumb img{width:100%;height:100%;object-fit:cover}
#cartApp .thumb svg{width:34px;height:auto;opacity:.55}
#cartApp .i-name{margin:0;font-family:var(--serif);font-style:italic;font-size:20px;font-weight:500;color:var(--oxblood);line-height:1.25}
#cartApp .i-meta{margin:4px 0 0;font-size:12.5px;color:var(--warm-mid)}
#cartApp .remove{margin-top:10px;background:none;border:none;cursor:pointer;padding:0;font-size:12.5px;color:var(--warm-mid);text-decoration:underline;text-underline-offset:3px}
#cartApp .remove:hover{color:var(--oxblood)}
#cartApp .i-price{text-align:center;font-size:14px;color:var(--brown)}
#cartApp .i-qty{display:flex;justify-content:center}
#cartApp .i-total{font-weight:600;font-size:16px;color:var(--gold);text-align:right;white-space:nowrap}
#cartApp .m-label{display:none}

/* Quantity stepper */
#cartApp .qty{display:inline-flex;align-items:center;border:1px solid var(--linen);border-radius:20px;overflow:hidden}
#cartApp .qty button{width:32px;height:32px;background:none;border:none;cursor:pointer;color:var(--oxblood);font-size:16px}
#cartApp .qty button:hover{background:var(--ivory)}
#cartApp .qty button:disabled{opacity:.3;cursor:default;background:none}
#cartApp .qty output{min-width:28px;text-align:center;font-size:14px;font-weight:400;color:var(--oxblood)}

/* ── EMPTY STATE ── */
#cartApp .empty{text-align:center;padding:56px 28px 64px}
#cartApp .empty .empty-eyebrow{margin:0 0 16px;font-family:var(--sans);line-height:1;max-width:none;font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
#cartApp .empty h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,46px);color:var(--oxblood);line-height:1.1}
#cartApp .empty h2 em{font-style:italic;color:var(--gold)}
#cartApp .empty .rule{width:56px;height:2px;background:var(--gold);margin:20px auto 24px}
#cartApp .empty p{font-family:var(--serif);font-size:18px;line-height:1.7;max-width:460px;margin:0 auto 34px;color:var(--brown)}
#cartApp .btn-gold{display:inline-block;border:1.5px solid var(--gold);color:var(--gold);padding:14px 34px;font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;background:none}
#cartApp .btn-gold:hover{background:var(--gold);color:var(--white)}

/* ── BELOW-LIST ACTIONS ── */
#cartApp .cart-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}
#cartApp .cart-foot p{margin:0;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brown)}
#cartApp .cart-foot p a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
#cartApp .btn-outline{display:inline-block;border:1px solid var(--oxblood);color:var(--oxblood);padding:12px 26px;font-size:13px;letter-spacing:.04em;border-radius:2px;background:none;cursor:pointer}
#cartApp .btn-outline:hover{background:var(--oxblood);color:var(--ivory)}

/* ── ORDER SUMMARY ── */
#cartApp .summary{padding:28px 26px;position:sticky;top:24px}
#cartApp .summary h2{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:26px;color:var(--oxblood)}
#cartApp .summary > .rule{width:40px;height:1px;background:var(--gold);margin:12px 0 20px}

#cartApp .free{background:var(--ivory);border-radius:4px;padding:12px 14px;margin-bottom:20px}
#cartApp .free p{margin:0;font-size:12.5px;line-height:1.5;color:var(--brown)}
#cartApp .free strong{font-weight:600;color:var(--oxblood)}
#cartApp .bar{height:4px;background:var(--linen);border-radius:2px;margin-top:9px;overflow:hidden}
#cartApp .bar i{display:block;height:100%;width:0;background:var(--gold);transition:width .4s ease}

#cartApp .row{display:flex;justify-content:space-between;font-size:14px;padding:7px 0}
#cartApp .row span:last-child{color:var(--oxblood);font-weight:400}
#cartApp .row.total{border-top:1px solid var(--linen);margin-top:10px;padding-top:16px;align-items:baseline}
#cartApp .row.total span:first-child{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--oxblood)}
#cartApp .row.total span:last-child{font-size:22px;font-weight:600;color:var(--gold)}
#cartApp .tax-note{margin:4px 0 0;font-size:11.5px;color:var(--warm-mid)}

#cartApp fieldset{border:none;border-top:1px solid var(--linen);margin:22px 0 0;padding:20px 0 0;min-width:0}
#cartApp legend{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--oxblood);padding:0 10px 0 0}
#cartApp .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#cartApp .field{margin-top:12px}
#cartApp .field label{display:block;font-size:12px;color:var(--brown);margin-bottom:5px;font-weight:400}
#cartApp .field label small{color:var(--warm-mid);font-weight:300}
#cartApp .field input,
#cartApp .field select{width:100%;height:42px;border:1px solid var(--linen);border-radius:3px;background:var(--ivory);padding:0 12px;font-size:14px;color:var(--oxblood)}
#cartApp .field input:focus,
#cartApp .field select:focus{outline:none;border-color:var(--gold);background:var(--white)}
#cartApp .field input[aria-invalid="true"]{border-color:var(--error)}
#cartApp .err{margin:4px 0 0;font-size:11.5px;color:var(--error)}

#cartApp .ship-opts{display:grid;gap:8px;margin-top:6px}
#cartApp .ship-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--linen);border-radius:4px;padding:11px 12px;cursor:pointer;background:var(--ivory)}
#cartApp .ship-opt:has(input:checked){border-color:var(--gold);background:var(--white)}
#cartApp .ship-opt input{accent-color:var(--oxblood);margin:2px 0 0}
#cartApp .ship-opt b{display:block;font-weight:400;font-size:13.5px;color:var(--oxblood)}
#cartApp .ship-opt em{font-style:normal;font-size:12px;color:var(--warm-mid)}
#cartApp .ship-opt .price{margin-left:auto;font-size:13.5px;color:var(--oxblood);white-space:nowrap}

#cartApp .btn-primary{width:100%;margin-top:24px;background:var(--oxblood);color:var(--ivory);border:none;border-radius:2px;padding:16px;font-size:14px;letter-spacing:.06em;cursor:pointer}
#cartApp .btn-primary:hover{background:var(--oxblood-dk)}
#cartApp .btn-primary:disabled{opacity:.4;cursor:not-allowed}
#cartApp .secure{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px 0 0;font-size:11.5px;color:var(--warm-mid)}
#cartApp .secure svg{width:12px;height:12px}

#cartApp .info{border-top:1px solid var(--linen);margin-top:22px;padding-top:16px}
#cartApp .info h3{margin:12px 0 0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:16px;color:var(--oxblood)}
#cartApp .info h3:first-child{margin-top:0}
#cartApp .info p{margin:3px 0 0;font-size:12.5px;line-height:1.6}
#cartApp .info a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}

/* ── RESPONSIVE ── */
@media (max-width:960px){
  #cartApp{grid-template-columns:1fr}
  #cartApp .summary{position:static}
}
@media (max-width:640px){
  #cartApp .cart-cols{display:none}
  #cartApp .item{grid-template-columns:1fr 1fr;padding:18px;row-gap:14px}
  #cartApp .i-product{grid-column:1 / -1}
  #cartApp .thumb{flex-basis:72px;width:72px;height:88px}
  #cartApp .i-price{display:none}
  #cartApp .i-qty{justify-content:flex-start}
  #cartApp .i-total{align-self:center}
  #cartApp .grid2{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  #cartApp *{transition:none!important}
}
